package cn.supermarket.service.iservice;

import cn.supermarket.pojo.dto.AdminAddNewDTO;
import cn.supermarket.pojo.dto.AdminLoginDTO;
import cn.supermarket.pojo.dto.ChangePasswordDTO;
import cn.supermarket.pojo.dto.RoleAddDTO;
import cn.supermarket.pojo.vo.AdminDetailsVO;

import java.util.List;


/**
 * 员工账号管理
 */
public interface IAdminService {
    /**
     * 员工账号注册
     */
    void addNew(AdminAddNewDTO adminAddNewDTO);


    /**
     * 启用或停用员工账号
     */
    void updateEnableById(Long id);

    /**
     * 修改个人信息
     */
    void updateInformationById(AdminDetailsVO adminDetailsVO);

    /**
     * 修改密码
     */
    void changePassword(ChangePasswordDTO changePasswordDTO);

    /**
     * 注销
     */
    void deleteAdminById(Long id);

    /**
     * 导出员工列表
     */
    List<AdminDetailsVO> list();

    /**
     * 创建权限角色
     */
    void addRole(RoleAddDTO roleAddDTO);

    /**
     * 给角色添加权限
     * 修改员工权限
     * @param roleName
     * @param permissionNames
     */
    void addPermission(String roleName, String[] permissionNames);

    /**
     * 员工登录
     * @param adminLoginDTO
     * @return
     */
    String login(AdminLoginDTO adminLoginDTO);


}
